package persistent.factory;

import persistent.dao.*;
import persistent.impl.*;

/**
 * 提供DAO对象的工厂中介模式类
 * @author zhang jin sheng
 *
 */
public class DAOFactory {
	
	/**
	 * 获取一个CloudRoleDAO的业务类对象
	 * @return CloudRoleDAO接口类型的对象
	 * @since 2018-11-13 20:25
	 */
	public static CloudRoleDAO getCloudRoleDAO(){
		return new CloudRoleImpl();
	}
	
	/**
	 * 获取一个TCloudUserDAO的业务类对象
	 * @return TCloudUserDAO接口类型的对象
	 */
	public static CloudUserDAO getCloudUserDAO(){
		return new CloudUserImpl();
	}
	
	/**
	 * 获取一个BackRoleDAO的业务对象
	 * @return BackRoleDAO接口类型的对象
	 */
	public static BackRoleDAO getBackRoleDAO(){
		return new BackRoleImpl();
	}
	
	/**
	 * 获取一个CloudClassDAO的业务对象
	 * @return CloudClassDAO接口的对象
	 */
	public static CloudClassDAO getCloudClassDAO(){
		return new CloudClassImpl();
	}
	
	/**
	 * 获取一个ParentInfoDAO的业务对象
	 * @return ParentInfoDAO接口对象
	 */
	public static ParentInfoDAO getParentInfoDAO(){
		return new ParentInfoImpl();
	}
	
	/**
	 * 获取一个ISchoolDAO业务类对象
	 * @return ISchoolDAO接口类型的对象
	 */
	public static SchoolDAO getSchoolDAO(){
		return new SchoolImpl();
	}
	
	/**
	 * 获取一个StudentDAO的业务对象
	 * @return StudentDAO接口对象
	 */
	public static StudentDAO getStudentDAO(){
		return new StudentImpl();
	}
	
	/**
	 * 获取一个TeacherInfoDAO的业务对象
	 * @return TeacherInfoDAO接口对象
	 */
	public static TeacherInfoDAO getTeacherInfoDAO(){
		return new TeacherInfoImpl();
	}
	
	/**
	 * 获取一个ICheckTypeDAO业务类对象
	 * @return ICheckTypeDAO接口类型的对象
	 */
	public static ICheckTypeDAO getCheckTypeDAO(){
		return new CheckTypeDAOImpl();
	}
	
	/**
	 * 获取一个IClassDAO业务类对象
	 * @return IClassDAO接口类型的对象
	 */
	public static ICheckReportDAO getCheckReportDAO(){
		return new CheckReportDAOImpl();
	}
	
	/**
	 * 获取一个IStudentDAO业务类对象
	 * @return IStudentDAO接口类型的对象
	 */
	public static ICheckReoprtItemDAO getCheckReoprtItemDAO(){
		return new CheckReportItemDAOImpl();
	}
	
	/**
	 * 获取一个ICheckStatisDAO业务类对象
	 * @return ICheckStatisDAO接口类型的对象
	 */
	public static ICheckStatisDAO getCheckStatisDAO(){
		return new CheckStatisDAOImpl();
	}
	
	/**
	 * 获取一个CloudAnecdoteDAO的业务对象
	 * @return CloudAnecdoteDAO的接口对象
	 */
	public static CloudAnecdoteDAO getCloudAnecdoteDAO(){
		return new CloudAnecdoteImpl();
	}
	
	/**
	 * 获取一个AnecdoteStatisDAO业务类对象
	 * @return AnecdoteStatisDAO接口类型的对象
	 * @size 2018-11-10 21:53
	 */
	public static AnecdoteStatisDAO getAnecdoteStatisDAO(){
		return new AnecdoteStatisImpl();
	}
	
	/**
	 * 获取一个BackAdminUserDAO业务对象
	 * @return BackAdminUserDAO接口类型的对象
	 */
	public static BackAdminUserDAO getBackAdminUserDAO(){
		return new BackAdminUserImpl();
	}
	
	/**
	 * 获取一个DataImportDAO业务类对象
	 * @return DataImportDAO接口类型的对象
	 * @size 2018-12-09 19:48
	 */
	public static DataImportDAO getDataImportDAO(){
		return new DataImportImpl();
	}
	
	/**
	 * 获取一个FrontExpertDAO业务类对象
	 * @return FrontExpertDAO接口类型的对象
	 * @since 2018/12/12
	 */
	public static FrontExpertDAO getFrontExpertDAO(){
		return new FrontExpertImpl();
	}
	
	/**
	 * 获取一个FrontUserDAO业务对象
	 * @return FrontUserDAO接口类型的对象
	 * @since 2018/12/12
	 */
	public static FrontUserDAO getFrontUserDAO(){
		return new FrontUserImpl();
	}
	
	/**
	 * 获取一个PhotoDAO业务对象
	 * @return PhotoDAO接口的类型对象
	 * @since 2018/12/12
	 */
	public static PhotoDAO getPhotoDAO(){
		return new PhotoImpl();
	}
	
	/**
	 * 获取一个FrontInformationTypeDAO业务对象
	 * @return FrontInformationTypeDAO接口的类型对象
	 * @since 2018-12-13 徐震霖
	 */
	public static FrontInformationTypeDAO getFrontInformationTypeDAO(){
		return new FrontInformationTypeImpl();
	}
	
	/**
	 * 获取一个FrontInformationDAO业务类对象
	 * @return FrontInformationDAO接口类型对象
	 * @since 2018/12/15
	 */
	public static FrontInformationDAO getFrontInformationDAO(){
		return new FrontInformationImpl();
	}
	
	/**
	 * 获取一个CloudInformationDAO的业务对象
	 * @return CloudInformationDAO的接口对象
	 * @since 2018-12-13 徐震霖
	 */
	public static CloudInformationDAO getCloudInformationDAO(){
		return new CloudInformationImpl();
	}
	
	/**
	 * 获取一个IDimensionDAO的业务对象
	 * @return DimensionImpl的接口对象
	 * @since 2019-02-21 徐震霖
	 */
	public static IDimensionDAO getIDimensionDAO(){
		return new DimensionImpl();
	}
	
	/**
	 * 获取一个IExaminationPaperDAO的业务对象
	 * @return ExaminationPaperImpl的接口对象
	 * @since 2019-02-21 徐震霖
	 */
	public static IExaminationPaperDAO getIIExaminationPaperDAO(){
		return new ExaminationPaperImpl();
	}
	
	/**
	 * 获取一个ITitleDAO的业务对象
	 * @return TitleImpl的接口对象
	 * @since 2019-02-21 徐震霖
	 */
	public static ITitleDAO getITitleDAO(){
		return new TitleImpl();
	}

	/**
	 * 获取一个IScaleTitleTypeDAO的业务对象
	 * @return ScaleTitleTypeImpl的接口对象
	 * @since 2019-02-22 徐震霖
	 */
	public static IScaleTitleTypeDAO getIScaleTitleTypeDAO(){
		return new ScaleTitleTypeImpl();
	}
	
	/**
	 * 获取一个IFrontUserEvaluationDAO的业务对象
	 * @return FrontUserEvaluationImpl的接口对象
	 * @since 2019-02-28 11:03 徐震霖
	 */
	public static IFrontUserEvaluationDAO getIFrontUserEvaluationDAO(){
		return new FrontUserEvaluationImpl();
	}
	
	/**
	 * 获取一个IBackLogDAO的业务对象
	 * @return BackLogImpl的接口对象
	 * @since 2019-03-01 徐震霖
	 */
	public static IBackLogDAO getIBackLogDAO(){
		return new BackLogImpl();
	}
	
	/**
	 * 获取一个IDimensionOptionDAO的业务对象
	 * @return DimensionOptionImpl的接口对象
	 * @since 2019-03-05 徐震霖
	 */
	public static IDimensionOptionDAO getIDimensionOptionDAO(){
		return new DimensionOptionImpl();
	}
	
	/**
	 * 获取一个ICloudLogDAO的业务对象
	 * @return CloudLogImpl的接口对象
	 * @since 2019/5/19 邓家富
	 */
	public static ICloudLogDAO getICloudLogDAO(){
		return new CloudLogImpl();
	}
	
}
